package com.qb.common.constant

import androidx.databinding.ktx.BuildConfig
import com.blankj.utilcode.util.DeviceUtils.getMacAddress

/**
 *
 * @author 张灿阳
 * @since 2023/3/3
 */
object Constants {
    var DEVICE_PORT_DEFAULT = 0 //默认

    var DEVICE_PORT_XINGYUN = 1 //兴育

    var DATA_CLASSIFICATION = "0A01" //网络认证指令

    var DATA_HEARTBEAT = "0A02" //心跳指令

    var DATA_UPLOAD = "0A03" //数据上传指令

    var DATA_OPDEN_DOOR = "3303" //开门

    var DATA_CARDNUMBER_OE = "0E" //IC卡，刷卡记录（韦根26）

    var DATA_CARDNUMBER_OF = "0F" //IC卡，刷卡记录（韦根34）

    var LOGININFO = "loginInfo"// 登录信息
    var isPush = "isPush"
    var isHasLogin = "isHasLogin"
    var USER_AGREEMENT = "USER_AGREEMENT"
    /**
     * url key
     */
    const val CONTENT_URL_KEY = "url"
    /**
     * title key
     */
    const val CONTENT_TITLE_KEY = "title"
}
/**
 * 存放类型
 */
object AccessType{
    /**
     * 人脸
     */
    var FACE = 1

    /**
     * 卡
     */
    var CARD = 2

    /**
     * 取件码
     */
    var CODE = 3

    /**
     * 管理员
     */
    var ADMIN = 0
}
/**
 * 存取事件类型
 */
object EventType{
    /**
     * 用户
     */
    var user = 1

    /**
     * web平台存取
     */
    var platform_administrator = 2

    /**
     * 微信小程序存取
     */
    var client_administrator = 3

    /**
     * 智能柜运维管理存取
     */
    var client_administrator_ltd = 4

    /**
     * 智能柜普通管理存取(老师)
     */
    var client_administrator_teacher = 4
}
//柜格类型
object CabinetType{
    /**
     * 手机柜
     */
    var PHONE = 5

    /**
     * 书包柜
     */
    var PACKAGE = 6
}
/**
 * 微信图片链接
 */
object WechatQrcode{
    var QRCODE = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=%s"
}
object FaceFeature{
    var delete = 0 //删除

    var add = 1 //添加用户基础信息用户与人脸

    var delete_face = 2 //删除人脸

}
/**
 *存、取、测试
 */
object SaveOrTake{
    /**
     * 存
     */
    var SAVE = 0

    /**
     * 取
     */
    var TAKE = 1

    /**
     * 测试
     */
    var TEST = 2

    /**
     * 开关状态
     */
    var SWITCH_STATUS = 3
}
/**
 * 存件结果
 */
object SAVESTATE{
    /**
     * 存入成功
     */
    var SUCCESS = 1

    /**
     * 存入失败
     */
    var FAIL = 2

    /**
     * 存取件超时
     */
    var TIMEOUT = 6
}
/**
 * 取件结果
 */
object TAKESTATE{
    /**
     * 取件成功
     */
    var SUCCESS = 4

    /**
     * 取件失败
     */
    var FAIL = 5

    /**
     * 取件超时
     */
    var TIMEOUT = 7
}

object EventBus{
    /**
     * 拍照
     */
    var TAKE_PICTURE = 0

    /**
     * 处理拍照结果
     */
    var TAKE_PICTURE_RESULT = 1

    /**
     * 返回
     */
    var BACK = 2

    /**
     * 开始人脸识别
     */
    var START_FACE_RECONIZE = 3

    /**
     * 人脸识别成功
     */
    var SUCCESS_FACE_RECONIZE = 4

    /**
     * 结束人脸识别
     */
    var END_FACE_RECONIZE = 25

    /**
     * 微信用户注册
     */
    var USER_WX_REG = 5

    /**
     * 存件回调
     */
    var SAVE_CALLBACK = 6

    /**
     * 取件回调
     */
    var TAKE_CALLBACK = 7

    /**
     * 超时回调
     */
    var TIME_OUT_CALLBACK = 8

    /**
     * 存件回调重试
     */
    var RETRY_SAVE_CALLBACK = 9

    /**
     * 取件回调重试
     */
    var RETRY_TAKE_CALLBACK = 10

    /**
     * 激活
     */
    var ACTIVATION = 11

    /**
     * 人脸注册结果
     */
    var FACE_REG_RESULT = 12

    /**
     * 取件码注册结果
     */
    var CODE_REG_RESULT = 13

    /**
     * 人脸识别实时状态
     */
    var FACE_FRAM_CODE = 14

    /**
     * 清空失败人脸状态
     */
    var CLEAR_FACE_ERRORVIEW = 15

    /**
     * 人脸识别识别，准备注册
     */
    var FACE_REG = 16

    var SWITCH_STATUS = 17

    /**
     * 微信扫码确认身份
     */
    var SETTING_WECHAT_CODE = 18

    /**
     * 获取当前空闲柜格
     */
    var GET_CABINET_NUMBER = 19

    /**
     * wifi信号
     */
    var WIFI_SIGNAL = 20

    /**
     * 手机卡信号
     */
    var PHONE_SIGNAL = 21

    /**
     * 网络断开
     */
    var NET_DISCONNECT = 22

    /**
     * 网络连接
     */
    var NET_CONNECT = 23

    /**
     * 获取设备信息
     */
    var MQTT_USER_CREDENTIAL = 24

    /**
     * 主界面更新设备信息
     */
    var DEVICE_MAIN = 25

    /**
     * 卡号推送
     */
    var CARD_TIPS = 26

    /**
     * 取件回调成功
     */
    var TAKE_CALLBACK_SUCCESS = 27
    var INIT_MEGVII_SDK = 28
}
/**
 * 网络连接类型
 */
object NetType{
    /**
     * 手机卡
     */
    var PHOHE = 1

    /**
     * wifi
     */
    var WIFI = 2

    /**
     * 以太网
     */
    var ETHERNET = 3
}
/**
 * 上传日志文件相关参数
 */
object UploadLogFile{
    var LOGFILE = "logFile"
    var DEVICE_ID = "deviceId"
    var CURDATE = "curDate"
    var TXID = "txId"
    var LOG_TYPE = "logType"
    var MESSAGE = "message"
}
/**
 * mqtt相关
 */
object Mqtt{
    /**
     * 微信用户注册发布(mqtt)
     */
    var TOPIC_TAG_USER_WECHAT_REGISTRATION_PUBLISH =
        "%s/campus-cabinet/v1/wechat-mini-scan-code-register/%s/%s/"

    /**
     * 人脸特征变更发布(mqtt)
     */
    var TOPIC_TAG_FACIAL_FEATURE_CHANGES_PUBLISH = "%s/campus-basic/v1/device/user-single/%s/"

    /**
     * 取件码注册消息回调
     */
    var TOPIC_TAG_WECHAT_MESSAGE_SEND_STATUS_PUBLISH = "%s/wechat_msg_send_status/%s/%s/"

    /**
     * 获取手机柜日志通知发布
     */
    var TOPIC_TAG_CABINET_LOG_UPLOAD_MSG_PUBLISH = "%s/campus-basic/v1/device/upload-log/%s/%s/"

    /**
     * 手机柜开柜格通知
     */
    var TOPIC_TAG_CABINET_OPEN_CELL_MSG_PUBLISH = "%s/campus-cabinet/v1/open-cell-msg/%s/%s/"

    /**
     * 手机柜同步所有人脸特征通知
     */
    var TOPIC_TAG_FACE_FEATURE_ALL_MSG_PUBLISH = "%s/campus-basic/v1/device/user-all/%s/%s/"

    /**
     * 管理员扫二维码打开设置(mqtt)
     */
    var TOPIC_CABINET_ADMIN_OPEN_SETUP_PUBLISH =
        "%s/campus-cabinet/v1/wechat-mini-scan-code-hypervisor/%s/%s/"

    /**
     * 修改设备信息
     */
    var CABINET_ENABLE_USER_CREDENTIAL_PUBLISH = "%s/campus-basic/v1/device/info-modify/%s/%s/"

    /**
     * 特定设备版本更新指令 发布消息主题(mqtt)
     */
    var DEVICE_UPGRADE_ALL_NOTICE_PUB = "%s/campus-basic/v1/device/upgrade/%s/%s/"

    /**
     * 设备重启
     */
    var CAMPUS_BASIC_V_1_DEVICE_REBOOT_S_S = "%s/campus-basic/v1/device/reboot/%s/%s/"

    /**
     * 提取人脸特征
     */
    var MQTT_TOPIC_REG_FACE_SHARE = "%s/campus-basic/v1/device/feature/extract/%s/"

    /**
     * 您在控制台创建的微消息队列MQTT的实例ID。
     */
    var instanceId = "post-cn-2r425gg9t09"

    /**
     * 设置接入点，进入微消息队列MQTT版控制台实例详情页面获取。
     */
    var endPoint = "post-cn-2r425gg9t09.mqtt.aliyuncs.com"

    /**
     * 设置消息队列RocketMQ版的Topic，在消息队列RocketMQ版控制台创建。
     * 消息队列RocketMQ版和微消息队列MQTT配合使用时，RocketMQ客户端仅操作一级Topic。
     */

    /**
     * MQTT客户端ID，由业务系统分配，需要保证每个TCP连接都不一样，保证全局唯一，如果不同的客户端对象（TCP连接）使用了相同的clientId会导致连接异常断开。
     * clientId由两部分组成，格式为GroupID@@@DeviceID，其中GroupID在微消息队列MQTT版控制台创建，DeviceID由业务方自己设置，clientId总长度不得超过64个字符。
     */

    /**
     * 账号 accesskey，从账号系统控制台获取
     */
    var accessKey = "LTAI5tJFYKEjHWhFxMifyDmH"

    /**
     * 账号 secretKey，从账号系统控制台获取，仅在Signature鉴权模式下需要设置
     */
    var secretKey = "7zQhWOkRXPFzcta9r6KRzgbHf66DfX"

    /**
     * QoS参数代表传输质量，可选0，1，2。详细信息，请参见名词解释。
     */
    var qosLevel = 1

}
/**
 * MmkvKEY
 */
object MmkvKey{
    /**
     * 设备激活基本数据
     */
    var ACTIVATION_DATA = "activation_data"

    /**
     * 设备信息
     */
    var DEVICE_DATA = "device_data"

    /**
     * 导航栏开关
     */
    var NAVIGATION_BAR = "navigation_bar"

    /**
     * 设备Id
     */
    var TARGET_ID = "targetId"

    /**
     * 更新设备Id
     */
    var UpDate_Id = "update_id"

    /**
     * 旷世是否授权
     */
    var MCV_AUTH = "mvc_auth"
}
/**
 * 柜格实时状态
 */
object CabinetBoxStatus{
    /**
     * 空闲
     */
    var FREE = 0

    /**
     * 存件锁定中
     */
    var DEPOSITING = 1

    /**
     * 使用中
     */
    var IN_USE = 2

    /**
     * 取件锁定中
     */
    var FETCHING = 3

    /**
     * 维修中
     */
    var IN_MAINTENANCE = 5
}
object ADBDATACMD{
    //打开数据
    var DATE_ON = "svc data enable"

    //关闭数据
    var DATE_OFF = "svc data disable"

    //打开飞行模式
    var AIRPLANE_MODE_ON = "settings put global airplane_mode_on 1"
    var AIRPLANE_MODE_ON1 = "am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true"

    //关闭飞行模式
    var AIRPLANE_MODE_OFF = "settings put global airplane_mode_on 0"
    var AIRPLANE_MODE_OFF1 = "am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false"
}
/**
 * 旷世sdk 相关配置
 */
object FaceMegvii{
    //String CERT_PATH = "CBG_Android_Face_Reco---90-Trial-one-stage.cert";
    ///String CERT_PATH = "CBG_Android_Face_Reco---36502-Formal-one-stage.cert";
    //String CERT_PATH = "CBG_Android_Face_Reco---30-Trial-one-stage.cert";
    var CERT_PATH = "CBG_Android_Face_Reco---36502-Formal-one-stage.cert"

    //String CERT_PATH = "CBG_Android_Face_Reco---36502-Formal-two-stage.cert";
    var group_name = "facepassD"
}
object FacePassSDKMode{
    /**
     * 在线
     */
    var MODE_ONLINE: FacePassSDKMode? = null

    /**
     * 离线
     */
    var MODE_OFFLINE: FacePassSDKMode? = null
}